home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Freeware / Adobe Air 1.5 / AdobeAIRInstaller.exe / setup.swf / scripts / mx / effects / effectClasses / TweenEffectInstance.as < prev    next >
Encoding:
Text File  |  2008-10-29  |  3.9 KB  |  157 lines

  1. package mx.effects.effectClasses
  2. {
  3.    import mx.core.UIComponentGlobals;
  4.    import mx.core.mx_internal;
  5.    import mx.effects.EffectInstance;
  6.    import mx.effects.Tween;
  7.    import mx.events.TweenEvent;
  8.    
  9.    use namespace mx_internal;
  10.    
  11.    public class TweenEffectInstance extends EffectInstance
  12.    {
  13.       mx_internal static const VERSION:String = "3.0.0.0";
  14.       
  15.       private var _seekTime:Number = 0;
  16.       
  17.       public var easingFunction:Function;
  18.       
  19.       public var tween:Tween;
  20.       
  21.       mx_internal var needToLayout:Boolean = false;
  22.       
  23.       public function TweenEffectInstance(param1:Object)
  24.       {
  25.          super(param1);
  26.       }
  27.       
  28.       override public function stop() : void
  29.       {
  30.          super.stop();
  31.          if(tween)
  32.          {
  33.             tween.stop();
  34.          }
  35.       }
  36.       
  37.       mx_internal function applyTweenStartValues() : void
  38.       {
  39.          if(duration > 0)
  40.          {
  41.             onTweenUpdate(tween.mx_internal::getCurrentValue(0));
  42.          }
  43.       }
  44.       
  45.       override public function get playheadTime() : Number
  46.       {
  47.          if(tween)
  48.          {
  49.             return tween.mx_internal::playheadTime + super.playheadTime;
  50.          }
  51.          return 0;
  52.       }
  53.       
  54.       protected function createTween(param1:Object, param2:Object, param3:Object, param4:Number = -1, param5:Number = -1) : Tween
  55.       {
  56.          var _loc6_:Tween = new Tween(param1,param2,param3,param4,param5);
  57.          _loc6_.addEventListener(TweenEvent.TWEEN_START,tweenEventHandler);
  58.          _loc6_.addEventListener(TweenEvent.TWEEN_UPDATE,tweenEventHandler);
  59.          _loc6_.addEventListener(TweenEvent.TWEEN_END,tweenEventHandler);
  60.          if(easingFunction != null)
  61.          {
  62.             _loc6_.easingFunction = easingFunction;
  63.          }
  64.          if(_seekTime > 0)
  65.          {
  66.             _loc6_.seek(_seekTime);
  67.          }
  68.          _loc6_.mx_internal::playReversed = mx_internal::playReversed;
  69.          return _loc6_;
  70.       }
  71.       
  72.       private function tweenEventHandler(param1:TweenEvent) : void
  73.       {
  74.          dispatchEvent(param1);
  75.       }
  76.       
  77.       override public function end() : void
  78.       {
  79.          mx_internal::stopRepeat = true;
  80.          if(mx_internal::delayTimer)
  81.          {
  82.             mx_internal::delayTimer.reset();
  83.          }
  84.          if(tween)
  85.          {
  86.             tween.endTween();
  87.             tween = null;
  88.          }
  89.       }
  90.       
  91.       override public function reverse() : void
  92.       {
  93.          super.reverse();
  94.          if(tween)
  95.          {
  96.             tween.reverse();
  97.          }
  98.          super.mx_internal::playReversed = !mx_internal::playReversed;
  99.       }
  100.       
  101.       override mx_internal function set playReversed(param1:Boolean) : void
  102.       {
  103.          super.mx_internal::playReversed = param1;
  104.          if(tween)
  105.          {
  106.             tween.mx_internal::playReversed = param1;
  107.          }
  108.       }
  109.       
  110.       override public function resume() : void
  111.       {
  112.          super.resume();
  113.          if(tween)
  114.          {
  115.             tween.resume();
  116.          }
  117.       }
  118.       
  119.       public function onTweenEnd(param1:Object) : void
  120.       {
  121.          onTweenUpdate(param1);
  122.          tween = null;
  123.          if(mx_internal::needToLayout)
  124.          {
  125.             UIComponentGlobals.mx_internal::layoutManager.validateNow();
  126.          }
  127.          finishRepeat();
  128.       }
  129.       
  130.       public function onTweenUpdate(param1:Object) : void
  131.       {
  132.       }
  133.       
  134.       override public function pause() : void
  135.       {
  136.          super.pause();
  137.          if(tween)
  138.          {
  139.             tween.pause();
  140.          }
  141.       }
  142.       
  143.       public function seek(param1:Number) : void
  144.       {
  145.          if(tween)
  146.          {
  147.             tween.seek(param1);
  148.          }
  149.          else
  150.          {
  151.             _seekTime = param1;
  152.          }
  153.       }
  154.    }
  155. }
  156.  
  157.